Version Control with Git & GitHub

Picking the one right tool

John Little

Duke University Libraries

Center for Data & Visualization Sciences

2023-09-16

Version control


Documenting the story of a project


Among other features , version control enables time travel
i.e. interacting with earlier phases of a project

Reproducibility

Reproducibility pyramid

Why Version control enables reproducibility

What The ability to recreate the results, analyses, and figures from a study or paper using the original tools

How Do everything with code

Allegory

“You pick the one right tool” – Anton Chigurh

  • No Country for Old Men by Cormac McCarthy. 2005

    • Adapted to film by Cohen Bros. 2007

Summary

Llewelyn Moss: Protagonist acquires a satchel of cash that does not belong to him. There are no people claiming the cash for miles around. Finders Keepers

Anton Chigurh: Hired to retrieve the money. Has strong feelings about accomplishing his goals

Carson Wells: Hired to assist Chigurh, unbeknownst to Chigurh

Ed Tom Bell: Trying to do his best amidst a difficult situation where there is no easy solution

 

 

 

 

 

 

Symbiotic

git and GitHub

Chigurh and Wells

Each part of the pair benefits the other


The relationship between Git and GitHub is not as dangerous. Git is a tool for version control, and GitHub is a remote hub (cloud / web) for storing and managing Git repositories. Git and GitHub work together to provide a powerful platform for collaboration.

How does it relate?

Git is an emotionless, powerhouse application built to exhibit an indefatigable and extensible ability

  • Tracking how files in a project folder change over time

  • Time-travel to earlier stages of the entire project

  • Supports modern reproducibility better than other file synchronization approaches

  • Portable, open-source application that runs on any any computer LFS, tracking any file thereof, in any enterprise including any university

+ △

+

  • Many free gui clients

  • Works on any OS

  • A workhorse

  • Typically, you will use only 4-8 commands

  • Pays huge dividends per investment

  • Command-line UX

  • Can be a challenge to install/configure

  • Initial learning curve can feel steep (short hill)

Extensible

Moral

Use Git for projects: versioning, collaboration, and/or reproducibility. Choose the right tools for the job

Preservation requires thought and effort

Posterity typically requires more than luck and usually demands acts of mindfulness

Consciously track the organic versioning of your project